XSL Transformations (XSLT) is a standard way to describe how to transform (change) the structure of an XML (Extensible Markup Language) document into an XML document with a different structure. XSLT is part of the XSL specification, comprising the general XSLT programming language and the XSL-FO document formatting vocabulary). XSLT is used to describe how to transform the source tree or data structure of an XML document into the result tree for a new XML document, which can be completely different in structure. The coding for the XSLT is also referred to as a style sheet.
Dynamically typed languages such as XSLT and XQuery sometimes support constructs for separating code into reusable libraries. Typically, however, the dynamic type system imposes context sensitivity on the linking of such reusable modules. Several products and projects exist to detect source code similarities in large codebases. (see for example http://www.redhillconsulting.com.au/products/simian/) These tools however, are designed only as an aid to developers to flag sections of code that may be eligible for reuse. This obviously does nothing to improve runtime memory costs without human intervention, and further, does not solve the problem of context-sensitive importing of code modules in dynamically statically typeable languages.
In the area of Internationalization, most prior work has gone into tooling and library support for manual modularization. This can require careful planning, and human intervention to achieve. Furthermore, as mentioned above, in the presence of context-sensitive inclusions, source-code modularity may not translate to runtime modularity. Our invention is differentiated by focusing on the automatic determination of runtime modularity, regardless of the actual source code modularity.